home *** CD-ROM | disk | FTP | other *** search
GW-BASIC | 1997-01-27 | 3.1 KB | 128 lines |
- 10 'CAPTRIM - 19 OCT 93 rev. 29 MAR 94 rev. 27 SEP 96
- 20 IF EX$=""THEN EX$="EXIT"
- 30 CLS
- 40 COLOR 7,0,1
- 50 UL$=STRING$(80,205)
- 60 BOX$=STRING$(64,205)
- 70 M$=">F"
- 80 P$="pF"
- 90 U$="#####"
- 100 U1$="#####.#"
- 110 '
- 120 '.....start
- 130 CLS
- 140 COLOR 15,2
- 150 PRINT " TRIMMER CAPACITORS";TAB(57);"by George Murphy VE3ERP ";
- 160 COLOR 1,0:PRINT STRING$(80,223);
- 170 COLOR 7,0
- 180 PRINT " Press number in < > to calculate capacitances in:"
- 190 PRINT UL$;
- 200 PRINT TAB(18);"< 1 > >F (microfarads)"
- 210 PRINT TAB(18);"< 2 > pF (picofarads)"
- 220 PRINT UL$;
- 230 PRINT TAB(18);" or Press 0 to exit....."
- 240 Z$=INKEY$
- 250 IF Z$="0"THEN CLS:RUN EX$
- 260 IF Z$="1"THEN V$=M$:GOTO 300
- 270 IF Z$="2"THEN V$=P$:GOTO 300
- 280 GOTO 240
- 290 '
- 300 '.....input data
- 310 CLS
- 320 T=3
- 330 PRINT TAB(T);
- 340 PRINT" CAPACITORS IN PARALLEL CAPACITORS IN SERIES"
- 350 PRINT TAB(T);
- 360 PRINT" THENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHEN THENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHEN"
- 370 PRINT TAB(T);
- 380 PRINT"Main CapacitanceDEFDBL C1"
- 390 PRINT TAB(T);
- 400 PRINT" VARPTRSOUNDSOUND<0xB4!>BLOADSOUNDSOUNDCOLOR Main CapacitanceDEFDBL C1"
- 410 PRINT TAB(T);
- 420 PRINT" A SOUNDSOUNDSOUND<0xB4!> BLOADSOUNDSOUNDSOUND B A SOUNDSOUNDSOUND<0xB4!>BLOADSOUNDSOUNDSOUND<0xB4!>BLOADSOUNDSOUNDSOUND B"
- 430 PRINT TAB(T);
- 440 PRINT" CLSSOUNDSOUND<0xB4!>BLOADSOUNDSOUND' Variable TrimmerDEFDBL C2"
- 450 PRINT TAB(T);
- 460 PRINT"Variable TrimmerDEFDBL C2"
- 470 PRINT
- 480 PRINT UL$;
- 490 PRINT "ENTER: Maximum value in ";V$;" of main capacitance C1....";
- 500 INPUT C1
- 510 IF C1<10^5 THEN 590
- 520 BEEP:CLS:LOCATE 11,10
- 530 PRINT "SORRY! This program can only accept values of less than 100,000"
- 540 PRINT
- 550 PRINT TAB(31);"Press any key........"
- 560 IF INKEY$=""THEN 560
- 570 CLEAR:GOTO 10
- 580 '
- 590 LOCATE CSRLIN-1:PRINT STRING$(79,32)
- 600 LOCATE 3,23:PRINT "=";C1;V$;" max."
- 610 LOCATE 4,64:PRINT "=";C1;V$;" max."
- 620 LOCATE 10
- 630 COLOR 7,0
- 640 PRINT "ENTER: Maximum value in ";V$;" of trimmer capacitor C2...";
- 650 LOCATE 10
- 660 INPUT C2
- 670 LOCATE 7,23:PRINT "=";C2;V$;" max."
- 680 LOCATE 6,59:PRINT "=";C2;V$;" max."
- 690 '
- 700 LOCATE 9,16
- 710 COLOR 0,7
- 720 PRINT" RANGE of CAPACITANCE BETWEEN POINTS A and B "
- 730 COLOR 7,0
- 740 PRINT" with OPEN OPEN OPEN"
- 750 PRINT" C1 OPEN CAPACITORS IN PARALLEL OPEN CAPACITORS IN SERIES OPEN"
- 760 PRINT" at OPEN C2 min. C2 max. OPEN C2 min. C2 max. OPEN"
- 770 PRINT BOX$;"RANDOMIZE"
- 780 LOCATE 9,11:PRINT "<0xCB!>"
- 790 LOCATE 9,65:PRINT "<0xCB!>"
- 800 LOCATE 13,11:PRINT "LOCATE"
- 810 LOCATE 13,38:PRINT "LOCATE"
- 820 '
- 830 '.....calculate values
- 840 INC=C1/10 'increment
- 850 FOR Z=1 TO 10
- 860 MAIN=MAIN+INC
- 870 PMIN=MAIN
- 880 PMAX=MAIN+C2
- 890 SMIN=0
- 900 SMAX=1/(1/MAIN+1/C2)
- 910 IF Z=10 THEN COLOR 0,7
- 920 PRINT USING U$;MAIN;:PRINT " ";V$;
- 930 PRINT TAB(12)USING U$;PMIN;:PRINT " ";V$;" to";
- 940 PRINT TAB(24)USING U$;PMAX;:PRINT " ";V$;
- 950 PRINT TAB(39)USING U$;SMIN;:PRINT " ";V$;" to";
- 960 PRINT TAB(50)USING U1$;SMAX;:PRINT " ";V$;
- 970 COLOR 7,0
- 980 PRINT TAB(65);"OPEN";
- 990 PRINT ""
- 1000 NEXT Z
- 1010 PRINT BOX$;"LOAD";
- 1020 NO=14
- 1030 NO=NO+1:LOCATE NO,67:PRINT "NOTE:"
- 1040 NO=NO+1:LOCATE NO,67:PRINT "THENTHENTHENTHENTHEN"
- 1050 NO=NO+1:LOCATE NO,67:PRINT "If C1 is"
- 1060 NO=NO+1:LOCATE NO,67:PRINT "a fixed"
- 1070 NO=NO+1:LOCATE NO,67:PRINT "capacitance"
- 1080 NO=NO+1:LOCATE NO,67:PRINT "then only the"
- 1090 NO=NO+1:LOCATE NO,67:PRINT "bottom line"
- 1100 NO=NO+1:LOCATE NO,67:PRINT "of the chart"
- 1110 NO=NO+1:LOCATE NO,67:PRINT "applies."
- 1120 GOSUB 1150
- 1130 GOTO 120
- 1140 '
- 1150 'HARDCOPY
- 1160 GOSUB 1270:LOCATE 25,2:COLOR 14,6
- 1170 PRINT " Press 1 to print screen, 2 to print screen & ";
- 1180 PRINT "advance paper, or 3 to continue.";:COLOR 7,0
- 1190 Z$=INKEY$:IF Z$="3"THEN GOSUB 1270:RETURN
- 1200 IF Z$="1"OR Z$="2"THEN GOSUB 1270:GOTO 1220
- 1210 GOTO 1190
- 1220 FOR QX=1 TO 24:FOR QY=1 TO 80
- 1230 LPRINT CHR$(SCREEN(QX,QY));
- 1240 NEXT QY:NEXT QX
- 1250 IF Z$="2"THEN LPRINT CHR$(12)
- 1260 GOTO 1160
- 1270 LOCATE 25,1:PRINT STRING$(80,32);:RETURN
-